package com.ihr360.payroll.service.salaryreport;

import com.ihr360.payroll.entity.task.PayPeriodTermEntity;
import com.ihr360.payroll.model.dto.salary.report.HistoryPayPeriod;
import com.ihr360.payroll.response.salaryreport.SalaryReportMonthResponse;
import com.ihr360.rest.service.SimpleRestService;

import java.util.Date;
import java.util.List;

/**
 * Created by Eric on 2018/4/11/011.
 */
public interface HistoryPayPeriodService extends SimpleRestService<HistoryPayPeriod, Long> {

    List<PayPeriodTermEntity> queryTermList(String companyId, Long salaryPlanId, Date date);

    void syncPayPeriod(String companyId, Long payPeriodId);

    List<HistoryPayPeriod> queryListByCompanyIdAndIdList(String companyId, List<Long> idList);

    List<HistoryPayPeriod> queryListByCompanyIdAndSalaryPlanIdAndDate(String companyId, List<Long> salaryPlanId, Date reportDate);

    List<PayPeriodTermEntity> queryMergeTermList(String companyId, Long mergeReportId, Date date);

    HistoryPayPeriod getHistoryPayPeriod(String companyId, Long salaryPlanId, Date date);

    List<SalaryReportMonthResponse> querySalaryReportMonthList(String companyId, Long salaryPlanId, int year);

    List<Integer> querySalaryReportYearListList(String companyId, Long salaryPlanId);

}
